Rendering is part of the process of printing a page received in a page description language. During rendering the objects of the display list corresponding to the page are converted into individual picture elements or pixels. These pixels specify the page to be printed. The density of the rendered pixels is set by the capabilities of the print engine. This rendering is inherently a high memory bandwidth process.
Laser printers or ink jet printers capable of printing from page description language data typically employ a print controller. The print controller takes the task of receiving print data inputs, converting this into pixels that can be printed by the print engine and controlling the print engine. The memory bandwidth required in this process, particularly in rendering, can be very large. For example, at 600 dots per inch (dpi) an 8-bit color page may require 128 Mbytes for storage as individual pixels. The print controller may be a high-speed Reduced Instruction Set Computer (RISC) microprocessor, one or more Application Specific Integrated Circuits (ASIC) and memory.
The print controller is typically the bottleneck in the print system. The print engine is not able to run continuously at its rated sped. Instead, the print engine prints a page, then pauses for the data processing to complete the next page before printing again. Thus such a system may not be able to operate at the page per minute of the print engine because the print controller throttles the system.
This problem is aggravated by the trend toward increasing page densities. Page density is the ratio of the portion of a printed page receiving print to the printable area of the whole page. In the 1980's pages were typically text and had print densities in the range of 5%. Printed pages today typically have print densities in the range of 30 to 40%. Those knowledgeable in the print business expect typical print densities to reach 80%. The higher the print density the greater the task of rendering the display list into page pixels.
The problem of printing from page description language data is mostly a problem of memory bandwidth. The process of rendering the pixels requires movement of lots of data. Thus use of a faster processor or greater compute resources in ASICs would not help the problem significantly.